<!-- 
    ES5新增了一些方法，可以很方便的操作数组和字符串，这些方法有
    1）数组方法
    迭代方法： forEach(),map(),filter(),some(),every()
   forEach(): array.forEach(function(currentValue,index,arr))
    //currentValue:数组当前项的值   index:数组当前项的索引   arr:数组对象本身

   filter()方法创建一个新的数组，新的数组中的元素是通过检查指定数组中复合条件的所有元素，主要用于筛选数组
   注意它直接返回一个性数组
   currentValue:数组当前项的值
   index:数组当前项的索引
   arr:数组对象的本身

   some()方法用于检测数组中的元素是否满足条件，通俗点查找数组中是否有满足条件的元素
   注意它的返回值是布尔值，如果查找这个元素，则返回true，如果查不到就返回false
   currentValue:数组当前项的值
   index:数组当前项的索引
   arr:数组对象的本身

    2）字符串方法

    3）对象方法
 -->

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //1.forEach  迭代(遍历)数组
        var arr = [1, 2, 3];
        var sum = 0;
        arr.forEach(function (value, index, array) {
            console.log('每个数组元素' + value);
            console.log('每个数组元素的序号' + value);
            console.log('数组本身' + array);
            sum += value;
        })
        console.log(sum);

        //2.filter 筛选数组
        var arr = [12, 66, 4, 88];
        var newArr = arr.filter(function (value, index) {
            return value >= 20;   //筛选数组值中>20的值并
        })
        console.log(newArr);

        //3.some()方法用于检测数组中的元素是否满足条件，通俗点查找数组中是否有满足条件的元素
        var arr = [10, 30, 4]
        var flag = arr.some(function (value) {
            return value > 20;  //判断数组中是否有>20的值

        })
        console.log(flag);  //返回true

        var arr1 = ['red', 'pink', 'blue'];
        var flag1 = arr1.some(function (value) {
            return value = 'pink';  //判断是否有red有数组这个元素，当遍历发现有pink这个元素，就不会往后面遍历了
        })
        console.log(flag1);

        //1,filter也是查找满足条件的元素，返回的是一个数组，而且是把所有满足条件的数组返回出来
        //2.some也是满足条件元素是否存在，返回的是一个布尔值，如果查找第一个元满足提条件元素就终止循环


    </script>
</body>

</html>